package study.itheima.Test22;

import java.io.*;
import java.net.Socket;
import java.util.Scanner;

public class Client {
    public static void main(String[] args) throws IOException {
        /*
        编写客户端和服务器端程序，客户端用于上传图片，
        服务器端用于接收文件，文件上传成功后，给客户端一个反馈：文件上传成功。
        注意：
        服务器端采用多线程实现，并且要解决文件名冲突问题。
         */
        Socket s = new Socket("www.muzi.com",7777);
        Scanner sc = new Scanner(System.in);
        boolean flag = true;
        while (flag) {
            System.out.println("请输入文件上传的路径:");
            String name = sc.next();
            File file = new File(name);
            //判断文件是否存在,并且是否是以jpg为后缀结尾的
            String[] split = name.split("\\.");
            String spl = split[split.length - 1];
            if (file.isFile() && spl.equalsIgnoreCase("jpg")) {
                //读取文件,并传输给服务器端
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
                BufferedOutputStream bos = new BufferedOutputStream(s.getOutputStream());
                byte[] b = new byte[1024];
                int len ;
                while ((len = bis.read(b)) != -1){
                    bos.write(b,0,len);
                    bos.flush();
                }
                s.shutdownOutput();
                //接受反馈
                BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
                System.out.println(br.readLine());
                flag =false;
            }else {
                System.out.println("请输入正确的图片文件路径,请重新输入");
            }
        }
        s.close();
    }
}
